#ifndef STRUCT_H_INCLUDED
#define STRUCT_H_INCLUDED
#include <iostream>
#include "SFML\System.hpp"
#include "SFML\Window.hpp"
#include "SFML\Graphics.hpp"

class ImgMgr;
class Level;
class WorkerUnit;
class RessourceMgr;
class RessourceStruct;

class Struct
{
public:
	Struct();
	virtual void init(const sf::Vector2f position, const int team, ImgMgr *imageManager);
	virtual void maj(Level *level, RessourceMgr *ressourceMgr);
	virtual void render(sf::RenderWindow *app);
	sf::Vector2f getPosition() const;
	sf::Vector2f getBox() const;
	bool isDestroy() const;
	int random(int a, int b);
	bool addWorker(WorkerUnit *worker);
	virtual std::string getRessourceStruct() const;

protected:
	sf::Sprite m_skin;
	sf::IntRect m_box;
	int m_vie;
	int m_idTeam;
	bool m_destroy;
	std::vector<WorkerUnit*> m_worker;
	int m_nombreMaxWorker;
};

#endif